/**
 * 
 */
package com.fashop.dao.impl;

import java.util.List;

import javax.annotation.Resource;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.springframework.stereotype.Service;

import com.fashop.dao.UsuarioAppDao;
import com.fashop.jpa.UsuarioApp;

/**
 * @author Alan Dávila
 * e-mail ustargab@gmail.com
 * date 12/01/2014 20:43:27
 */
@Service("usuarioAppDaoImpl")
public class UsuarioAppDaoImpl implements UsuarioAppDao {

	@Resource(name = "sessionFactory")
    private SessionFactory factoria;
	/* (non-Javadoc)
	 * @see com.fashop.dao.UsuarioAppDao#nuevo(com.fashop.jpa.UsuarioApp)
	 */
	public UsuarioApp nuevo(final UsuarioApp usuario) {
		Session sesion = null;
        Transaction tx = null;
        UsuarioApp salida = null;
        try {
        	salida = usuario;
        	sesion = factoria.openSession();
        	tx = sesion.beginTransaction();
        	sesion.save(salida);
        	tx.commit();
        	sesion.close();
        } catch (Exception e) {
        	salida = null;
        	sesion = null;
        }
		return salida;
	}
	@SuppressWarnings("unchecked")
	public List<UsuarioApp> getAllUser() {
		Session sesion			 = null;
		List<UsuarioApp> allUser = null;
		try{
			sesion = factoria.openSession();
			allUser= sesion.createQuery("from UsuarioApp")
							.list();
			sesion.close();
		}
		catch(Exception e){
			sesion=null;
			allUser=null;
		}
		return allUser;
	}
	/* (non-Javadoc)
	 * @see com.fashop.dao.UsuarioAppDao#detalle(java.lang.Long)
	 */
	public UsuarioApp detalle(Long usuario) {
		// TODO Auto-generated method stub
		return null;
	}

	/* (non-Javadoc)
	 * @see com.fashop.dao.UsuarioAppDao#listado()
	 */
	public List<UsuarioApp> listado() {
		// TODO Auto-generated method stub
		return null;
	}

	

}
